package com.cssw.fyzb.core.mao.live;

import com.cssw.fyzb.core.model.mos.LivePkMo;

import java.util.List;

/**
 * @author Feng Chen
 */
public interface LivePkMao {


    /**
     * 创建pk
     *
     * @param liveId
     * @param pkId
     */
    void create(Long liveId, Long pkId);

    /**
     * 根据直播间标识和pk实例查询pk打赏情况
     *
     * @param liveId
     * @param pkId
     * @return
     */
    LivePkMo findByLiveAndPk(Long liveId, Long pkId);

    /**
     * 根据pk实例查询pk打赏情况
     *
     * @param pkId
     * @return
     */
    List<LivePkMo> findByPk(Long pkId);

    /**
     * 判断是否存在
     *
     * @param liveId
     * @param pkId
     * @param userId
     * @return
     */
    boolean exists(Long liveId, Long pkId, Long userId);


    /**
     * 保存
     *
     * @param liveId
     * @param pkId
     * @param userId
     * @return
     */
    void enterPk(Long liveId, Long pkId, Long userId);


    /**
     * 打赏
     *
     * @param liveId
     * @param pkId
     * @param userId
     * @param reward
     */
    void incReward(Long liveId, Long pkId, Long userId, Integer reward);


}
